<?php
/**
 * Controller is the customized base controller class.
 * All controller classes for this application should extend from this base class.
 */
class Controller extends CController
{
  /**
   * @var string the default layout for the controller view. Defaults to '//layouts/column1',
   * meaning using a single column layout. See 'protected/views/layouts/column1.php'.
   */
  public $layout='//layouts/entry';
  /**
   * @var array context menu items. This property will be assigned to {@link CMenu::items}.
   */
  public $menu=array();
  /**
   * @var array the breadcrumbs of the current page. The value of this property will
   * be assigned to {@link CBreadcrumbs::links}. Please refer to {@link CBreadcrumbs::links}
   * for more details on how to specify this property.
   */
  public $breadcrumbs=array();

  public $contentHeader = 'Wellcome';
  public $activeMenu = Constants::MENU_HOME;

  public function init() {
    parent::init();
    $controllerId = Yii::app()->controller->getId();

    $this->activeMenu = $controllerId;

  }

  public function _sendAjaxResponse($body = '', $status = 200, $content_type = 'application/json')
  {
    $statusHeader = 'HTTP/1.1 ' . $status . ' ' . $this->_getStatusCodeMessage($status);
    header($statusHeader);
    header("Access-Control-Allow-Origin: *");
    header('Content-type: ' . $content_type);

    echo $body;

    Yii::app()->end();
  }

  protected function _getStatusCodeMessage($status)
  {
    $codes = Array(
        200 => 'OK',
        400 => 'Bad Request',
        401 => 'Unauthorized',
        402 => 'Payment Required',
        403 => 'Forbidden',
        404 => 'Not Found',
        500 => 'Internal Server Error',
        501 => 'Not Implemented',
    );

    return (isset($codes[$status])) ? $codes[$status] : '';
  }
}